package slides.smartart;
import com.aspose.slides.IShape;
import com.aspose.slides.ISlide;
import com.aspose.slides.ISmartArt;
import com.aspose.slides.ISmartArtNode;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
import com.aspose.slides.SmartArt;
import com.aspose.slides.SmartArtLayoutType;
import com.aspose.slides.SmartArtNode;
import com.aspose.slides.SmartArtNodeCollection;
public class AsposeAddSmartArtNodes
{
public static void main(String[] args)
{
//==================
// Adding Smart Art
//==================
// Load the desired the presentation
Presentation pres = new Presentation("data/AsposeSmartArt.pptx");
// Traverse through every shape inside first slide
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Check if shape is of SmartArt type
if (shape instanceof SmartArt)
{
// Typecast shape to SmartArt
SmartArt smart = (SmartArt) shape;
// Adding a new SmartArt Node
SmartArtNode TemNode = (SmartArtNode) smart.getAllNodes().addNode();
// Adding text
TemNode.getTextFrame().setText("Test");
// Adding new child node in parent node. It will be added in the end of collection
SmartArtNode newNode = (SmartArtNode) TemNode.getChildNodes().addNode();
// Adding text
newNode.getTextFrame().setText("New Node Added");
}
}
// Saving Presentation
pres.save("data/AsposeAddSmartArtNode.pptx", SaveFormat.Pptx);
//=========================================
// Adding Smart Art to Specific Location
//=========================================
//Creating a presentation instance
Presentation pres1 = new Presentation();
//Access the presentation slide
ISlide slide = pres1.getSlides().get_Item(0);
//Add Smart Art IShape
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.StackedList);
//Accessing the SmartArt node at index 0
ISmartArtNode node = smart.getAllNodes().get_Item(0);
//Adding new child node at position 2 in parent node
SmartArtNode chNode = (SmartArtNode)((SmartArtNodeCollection)node.getChildNodes()).addNodeByPosition(2);
//Add Text
chNode.getTextFrame().setText("Sample Text Added");
//Save Presentation
pres1.save("data/AsposeAddSmartArtNodeByPosition.pptx", SaveFormat.Pptx);
System.out.println("Smart Art added and to specific location.");
}
}